from api_tests.base_api import BaseApi

class AppAdminUpdateApi:
    def __init__(self):
        self.api = BaseApi()
        self.url = f"{self.api.base_url}/app/admin/update"
    
    def update_app_admin(self, app_id, app_name, is_good=None, is_deleted=None):
        """
        管理员更新应用
        
        Args:
            app_id: 应用ID
            app_name: 应用名称
            is_good: 是否精选（可选）
            is_deleted: 是否删除（可选）
            
        Returns:
            str: 格式化的响应结果
        """
        # 构建请求参数
        app_admin_update_request = {
            "id": app_id,
            "appName": app_name
        }
        
        # 添加可选参数
        if is_good is not None:
            app_admin_update_request["isGood"] = is_good
        if is_deleted is not None:
            app_admin_update_request["isDeleted"] = is_deleted
        
        # 发送请求（需要管理员权限）
        response = self.api.post(
            url=self.url,
            json=app_admin_update_request,
            auth_type="admin"
        )
        
        # 解析和格式化响应
        result, error = self.api.parse_response(response)
        return self.api.format_result(result, error)

# 测试示例
if __name__ == "__main__":
    admin_update_api = AppAdminUpdateApi()
    result = admin_update_api.update_app_admin(
        app_id=1,  # 替换为实际的应用ID
        app_name="管理员更新的应用名称",
        is_good=True
    )
    print(result)